#include <stdio.h>
#include <stdlib.h>

void main()
{
    int i = 0, n = 5;
    int y[5], x[] = {1, 2, 3, 4, 5};
    while (i < n)
        y[i] = x[i++]; // while语句中假设了求值顺序，这是不可靠的
    for (i = 0; i < n; i++)
        printf("%d ", y[i]);

    // 应该写成
    while (i < n)
    {
        y[i] = x[i];
        i++;
    }
    // 最好简写成
    for (i = 0; i < n; i++)
        y[i] = x[i];

    // 程序修改为
    /*
    使用时一定要注意编译系统的区别，不要在假设的前提下编写程序。
    */
    for (i = 0; i < n; i++)
    {
        y[i] = x[i];
        printf("%d ", y[i]);
    }
    printf("\n");
}